package model

import (
	"time"
)

// FileChunk 文件分片信息（逻辑合并后保留的分片）
type FileChunk struct {
	ID            int64     `gorm:"column:id;primary_key" json:"id"`
	FileID        int64     `gorm:"column:file_id;not null;index:idx_file_chunks" json:"file_id"`
	ChunkIndex    int       `gorm:"column:chunk_index;not null" json:"chunk_index"`
	ChunkSize     int       `gorm:"column:chunk_size;not null" json:"chunk_size"`
	ChunkMD5      string    `gorm:"column:chunk_md5;type:text;not null" json:"chunk_md5"`
	StorageKey    string    `gorm:"column:storage_key;type:text;not null" json:"storage_key"`
	StorageEngine string    `gorm:"column:storage_engine;type:text;not null" json:"storage_engine"`
	CreatedAt     time.Time `gorm:"column:created_at;default:CURRENT_TIMESTAMP" json:"created_at"`
}

func (FileChunk) TableName() string {
	return "file_chunk"
}
